1. Field of the Invention
This invention relates generally to computer systems, and, more particularly, to a method and apparatus for restoring computer resources.
2. Description of the Related Art
A computer network is a connection of points (e.g., a plurality of computers) that have been interconnected by a series of communication paths. Moreover, any number of individual computer networks may be interconnected with other computer networks, which may increase the complexity of the overall system. Generally, computer networks may be used to increase the productivity of those computers that are connected to the network. For example, a computer connected to a network may communicate with other computers that are also connected to the network. Furthermore, the computer network may be used to share data, peripherals, or any other resources that are made available on the network.
Generally, a server may function as a centralized point on the network. For example, using any of the network topologies discussed above, a plurality of client computers may be interconnected such that the server controls the movement of data across the network. Typically, the server may service requests from a plurality of client computers that are connected to the network. Some computer networks include a plurality of interconnected servers, each controlling their own group of client computers or being dedicated to performing a particular function on the network.
When a particular server or client computer on a network fails (e.g., due to a hard disk crash), time-consuming, manual actions are typically required to reinstate the prior operating environment of the failed device. For example, a new hard disk may be installed, followed by the installation of at least a basic operating system to make the computer operable. Then all of the resources on the computer are manually installed. These resources might include firmware, software, or operating system (OS) resources, including OS and device driver software (i.e., drivers). Finally, any previously applied upgrades must be located and applied. It is often the case where many or all of the computers that make up the clients and servers on a particular network have unique configurations. The constant and rapid change in the computer industry virtually ensures that computers added to the network at different times will have differing hardware and software configurations, and thus, different resources. Reinstalling the computer resources requires special technical expertise, and results in significant downtime of the particular computer or possibly the entire network (i.e., if the server is the failed device).
In some cases, the manufacturer of the computer system provide restoration CDs to facilitate restoration of a failed computer system to its initial purchased state. This technique has numerous disadvantages. First, it does not account for any configuration changes that took effect after the system was purchased. As a result the user would have to remember all of the changes, manually locate the files associated with the configuration change, and install the files. Additionally, numerous upgrades to the resources might have been completed to the computer system since its initial purpose. These upgrades would be undone by restoring the system to its factory-fresh state. Again, the user would have to remember and manually locate and install the upgraded resources.
The present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.
One aspect of the present invention is seen in a method for restoring resources on a computer. The method includes providing a configuration database including resource information, receiving a restoration request including a computer identifier associated with the computer, accessing the configuration database based on the computer identifier to identify a restorable resource associated with the computer, and providing the restorable resource to the computer.
Another aspect of the present invention is seen in a computer system including a computer and a configuration manager. The computer has a plurality of installed resources. The configuration manager is coupled to the computer and adapted to store a configuration database including resource information associated with the computer, receive a restoration request from the computer including a computer identifier associated with the computer, access the configuration database to identify a restorable resource based on the computer identifier associated with the computer, and provide the restorable resource to the computer.